a45588334b2cb0cf02ea0079516065c19ff9c899,samigo/samigo-app/src/java/org/sakaiproject/tool/assessment/ui/listener/author/ItemAddListener.java,ItemAddListener,getFIBanswers,#String#,1969
Before Change
if (i == 0) {
String[] firstpart = tokens[i].split("\\{");
if (firstpart.length>1) {
list.add(firstpart[1]);
}
}
else if (i == (tokens.length - 1)) {
String[] lastpart = tokens[i].split("\\}");
list.add(lastpart[0]);
}
else {
list.add(tokens[i]);
}
}
} // token.length>1
After Change
private static ArrayList getFIBanswers(String entiretext) {
String fixedText = entiretext.replaceAll(" ", " "); // replace   to " " (instead of "") just want to reserve the original input
String[] tokens = fixedText.split("[\\}][^\\{]*[\\{]");
ArrayList list = new ArrayList();
if (tokens.length==1) {
String[] afteropen= tokens[0].split("\\{");
if (afteropen.length>1) {
// must have text in between {}
String[] lastpart = afteropen[1].split("\\}");
String answer = FormattedText.convertFormattedTextToPlaintext(lastpart[0].replaceAll("<.*?>", ""));
list.add(answer);
}
}
else {
for (int i = 0; i < tokens.length; i++) {
if (i == 0) {
String[] firstpart = tokens[i].split("\\{");
if (firstpart.length>1) {
String answer = FormattedText.convertFormattedTextToPlaintext(firstpart[1].replaceAll("<.*?>", ""));
list.add(answer);
}
}
else if (i == (tokens.length - 1)) {
String[] lastpart = tokens[i].split("\\}");
String answer = FormattedText.convertFormattedTextToPlaintext(lastpart[0].replaceAll("<.*?>", ""));
list.add(answer);
}
else {
String answer = FormattedText.convertFormattedTextToPlaintext(tokens[i].replaceAll("<.*?>", ""));
list.add(answer);
}
}
} // token.length>1